篇首语:本文由编程笔记#小编为大家整理,主要介绍了NR SRS时频域位置相关的知识,希望对你有一定的参考价值。
微信同步更新欢迎关注同名modem协议笔记
Sounding reference signal是一种在LTE时期就存在的一种参考信号,在NR中,基站可以利用SRS评估上行信道参数,对于TDD 系统,利用上下行信道互易性,也可以通过下行信道参数评估上行信道;还可以使用SRS 进行上行波束的管理,波束切换等。r16 增加了基于SRS 的position 功能SRS-PosResource的配置,资源配置结构和SRS-Resource基本类似,这篇我们只关注 SRS-Resource的配置,先看下时频域资源分配情况。
SRS配置结构如下,主要在UE specific BWP-UplinkDedicated中配置,分为SRS resource(最多64个)和SRS resourceSet(最多16个);UE可以配置多个SRS resourceset,每个set中可配置的SRS resouce和UE能力相关。
SRS resource RRC层参数
接下来我们按照RRC层的参数配置按顺序来看下每部分的参数的作用。
nrofSRS-Ports:SRS天线端口数量,可以配置为1/2/4,对于CLI SRS-RSRP measurement, 只能配置为port1。
transmissionComb:SRS 发送梳配置 Comb value 取值2/4/8,comb offset 取值范围由Comb value决定取值范围(0~combValue-1)。
cyclicShift:Cyclic shift configuration,生成SRS序列时用到的参数。
和LTE类似,NR的SRS在频域上也采用Comb发送方式,对于单个UE,在频域上可以每n个子载波发送SRS,transmissionComb支持n=2/4/8的配置,n代表SRS的密度,即每几个子载波发送SRS,combOffset代表SRS的偏移,取值范围对应0~n-1,即UE要在第几个子载波上发SRS。例如n=2时 代表每2个子载波发送一次SRS,combOffset取值范围0~1,combOffset=0时,代表在第一个子载波上发送SRS,combOffset=1时,代表UE要在第二个子载波上发送SRS;n=4时 代表每4个子载波发送一次SRS,combOffset取值范围0~3,combOffset =0所以在第一个子载波上发SRS,combOffset=3时 代表在第4个子载波上发SRS;n=8时 代表每8个子载波发送一次SRS,combOffset取值范围0~7,combOffset=4时 代表在第5个子载波上发SRS,以此类推。
因而网络端可以给不同UE配置不同的combOffset,进而实现频分复用。如下是当transmissionComb 中n和combOffset配置成不同value时,一个RB中子载波发送SRS例子。
SRS循环移位
和PUCCH类似,不同UE可能会使用相同的SRS物理资源,这时就需要通过循环移位cyclicshift进行区分,该参数由RRC层transmissionComb中的cyclicshift提供。
当n=2(Ktc=2)时,n_cs_max_SRS=8, cyclicShift 取值范围对应0~7;当n=4(Ktc=4)时,n_cs_max_SRS=12, cyclicShift 取值范围对应0~11;当n=8(Ktc=8)时,n_cs_max_SRS=6, cyclicShift 取值范围对应0~5。
对于antenna port Pi=1000+i,循环移位需要根据上面的公式确定,其中n_cs_SRS由RRC 层transmissionComb中的参数cyclic shift提供,N_SRS_ap由nrofSRS-Ports提供。
SRS 时频域位置
先看时域参数:
resourceMapping:指SRS resource 在一个时隙内占用的时域OFDM symbol 位置 ,nrofSymbols代表占用的符号个数,取值范围1/2/4,startPosition代表时隙内SRS符号的开始位置,例如一个时隙对应14个符号的情况,startPosition=0,代表SRS开始的位置对应最后一个符号;startPosition=1,代表倒数第二个符号,依次类推。repetitionFactor代表重复因子,单位是符号个数。配置的SRS resource不能超过时隙的边界 。如果有配置resourceMapping-r16 ,UE 要忽略resourceMapping 。
freqDomainShift, freqDomainPosition ,freqHopping分别代表频域偏移,频域位置和跳频相关参数,这几个参数后面再说。
38.211 6.4.1.4也有对SRS时频域位置参数的描述
N_SRS_ap对应RRC层参数nrofSRS-Ports,antenna portspi=1000+i;N_SRS_symb代表连续的OFDM符号,就是上面提到的nrofSymbols;l0代表SRS时域的起始符号位置,loffset由RRC层参数startPostition提供,那l0=N_slot_symb-1-loffset,即刚刚描述的那一坨话,SRS的时域起始位置是从时隙尾部倒数loffset个符号决定的,因为配置的SRS resource不能超过时隙的边界,所以loffset>=N_SRS_symb-1;k0代表SRS是频域起始子载波位置,下面是个具体例子。
SRS序列
SRS序列是低均峰比序列,其中的循环移位上面已经说明如何确定,SRS这里 delt=log2(Ktc),如NR PUCCH(一)中低均峰比序列确定方法所述,要确定具体的低均峰比序列还需要确定u和v,其中u=(fgh(n_u_s,f' , l')+n_SRS_ID) mod 30,n_SRS_ID由RRC层参数sequenceId确定。
u和v的确定都和RRC层参数groupOrSequenceHopping有关。
fgh(n_u_s,f' , l')与具体的OFDM符号number和系统帧号相关。
groupOrSequenceHopping=neither时,代表group和sequence hopping都disable,即基序列group 和sequence 都不跳变;
groupOrSequenceHopping=groupHopping时,代表group hopping 开启,sequence hopping disable,即基序列group 跳变,sequence 都不跳变;
groupOrSequenceHopping=sequenceHopping时,代表group hopping disable,sequence hopping enable,即基序列group 不跳变,sequence 都跳变。fgh(n_u_s,f' , l')和v的确定方式如上。
至此,SRS的序列就可以确定下来,接下来就要将序列映射到具体的时频域资源上。
SRS资源映射
资源映射就是将生成的序列通过不同的antenna port映射到k和l代表的具体的RE上,Pi代表具体的port number。
SRS序列的长度M_SRS_sc,b=m_SRS,b *N_RB_sc /K_TC, 这里要确定m_SRS,b的值,具体要根据RRC层freqHopping中的参数b-SRS(B_SRS)和c-SRS(C_SRS)的值根据38.211 table 6.4.1.4.3-1确定,如果没有配置freqHopping,B_SRS=0。这里并没有提及c-SRS没有配置的情况,那应该是必须要配置的参数,这块后面通过例子说明。
再进一步看看这个SRS序列的长度的公式的含义,m_SRS,b 其实代表的是SRS 占用的带宽信息 即占用几个RB,N_RB_sc代表一个RB对应几个子载波,这两者的乘积对应的就是SRS占用的子载波个数,K_TC对应的是SRS 子载波级别的密度,上面也有提到,取值范围2、4、8; 最后算出来的就是实际SRS占用的子载波个数,对应的就是SRS序列的长度。
到这里序列及其长度已经确定,时域分布也已知,就差频域信息了。
frequency-domain starting position
对于频域起始位置的公式,分开来看,后面那个求和公式用于确定SRS在频域上占用的频段范围;而前半部分就是根据后半部分确定的频域范围,再进一步确定具体的频域位置,n_shift 由RRC层参数freqDomainShift 提供取值范围对应0~268,主要用于进行RB级别的偏移,最后确定第一个用于SRS发送的子载波索引;两者结合起来确定具体的频域起始位置。
频域的参考点由BWP起始位置和n_shift的关系确定&#xff0c;BWP起始位置<&#61;n_shift时&#xff0c;参考点就是CRB 0的子载波0;BWP起始位置>n_shift时,参考点就是BWP最小的子载波。下图是根据实际log中的配置参数与协议中描述进行的一一对应&#xff0c;看不懂没关系&#xff0c;后面看具体例子就比较清晰了。
Frequency hopping
SRS也可能会enable跳频&#xff0c;对应了一堆公式&#xff0c;看起来也是让人头大。
由于38.331 和38.211是不同的人写的&#xff0c;所以参数名字会不一样&#xff0c;看起来也是挺难受的&#xff0c;上图是参数的对应关系。
SRS Frequency hopping由RRC层参数b-hop配置&#xff0c;缺省时默认b-hop&#61;0。
如果bhop>&#61;B_SRS,跳频就是disable状态&#xff0c;频域位置index n_b为常数&#xff0c;其中n_b&#61;(4n_RRC/m_SRS,b )mod N_b 向下取整再mod。
n_RRC由RRC层freqHopping中的参数freqDomainPosition提供&#xff0c;缺省默认n_RRC&#61;0;m_SRS,b和N_b根据C_SRS的值参照38.211 中的table 6.4.1.4.3-1确定&#xff0c;这里参数的小标b可以认为就是B_SRS&#xff0c;即b&#61;B_SRS。
bhop 下面先看下SRS 不跳频的例子。 例1 假如参数配置如下 srs-ResourceId 0, nrofSRS-Ports port1, transmissionComb n2 : combOffset-n2 0, cyclicShift-n2 2 , resourceMapping startPosition 0, nrofSymbols n1, repetitionFactor n1 , freqDomainPosition 0, freqDomainShift 0, freqHopping c-SRS 61, b-SRS 0, b-hop 0 , groupOrSequenceHopping neither, resourceType periodic : periodicityAndOffset-p sl160 : 153 , sequenceId 602 , (1)确定频域SRS 总RB 个数 freqHopping c-SRS 61, b-SRS 0, b-hop 0 需要由c-srs 和b-srs查询 38.211 Table 6.4.1.4.3-1 得到;m_SRS,b就是SRS 在频域上的RB 数 &#xff0c;通过上述确定 RB 个数为272 个。 38.211 Table 6.4.1.4.3-1: SRS bandwidth configuration. (2)确定 RB 中SRS 的密度 transmissionComb n2 : combOffset-n2 0, cyclicShift-n2 , transmissionComb n2 代表每2个子载波 传输一个SRS &#xff1b;combOffset-n2 0, 代表 在第一个子载波上传.一个RB 中的分布如下 (3)时域的分布 resourceMapping startPosition 0, nrofSymbols n1, repetitionFactor n1 startPosition (value 0 refers to the last symbol, value 1 refers to the second last symbol, and so on) 这里startPosition 为0 代表 从第13个symbol开始 &#xff0c;nrofSymbols n1 代表只占用一个符号 resourceType periodic : periodicityAndOffset-p sl160 : 153 , 时域发送slot及offset&#xff0c;这里看到是每隔160 slot发送一次&#xff0c;在第153 slot发送 对于periodic 或semi-persistent 的SRS resource&#xff0c;RRC层会通过periodicityAndOffset-p(SRS resource)或者periodicityAndOffset-sp(SRS Pos resource)作为发送周期&#xff0c;例如配置为sl160 : 153&#xff0c;分别代表时域发送slot及offset&#xff0c;即每隔160 slot发送一次&#xff0c;具体在第153 slot发送&#xff1b;除此之外&#xff0c;SRS的发送时隙还要满足上面的公式才可发送。 (4)频域发送位置的确认 freqDomainPosition 0, freqDomainShift 0, freqHopping c-SRS 61, b-SRS 0, b-hop 0, 最后频域起始位置是没有RB级别的偏移的&#xff0c;也就是说&#xff0c;SRS分布在分配的所有RB上&#xff0c;这种配置叫做宽带SRS。 例2 假如B_SRS&#61;1 C_SRS&#61;63,则m_SRS,1&#61;16,N1&#61;17,N0&#61;1,m_SRS,0&#61;272 上面公式的含义就是将SRS带宽分成N1个等份(0&#xff5e;16)&#xff0c;每个等份包含的RB个数是m_SRS,1&#61;16 个&#xff1b;然后n1确定的是等份的索引&#xff0c;假如算出来n1&#61;6,则频域图示如下&#xff0c;最终SRS发送带宽对应16个RB。 例3 假如B_SRS&#61;2&#xff0c;C_SRS&#61;63,则m_SRS,2&#61;8,N2&#61;2&#xff0c;m_SRS,1&#61;16,N1&#61;17,m_SRS,0&#61;272&#xff0c;N0&#61;1, 方块中的公式用于确定SRS的具体频域位置&#xff0c;对应的是b&#61;0~2的累加&#xff0c;最终确定的一个RB范围&#xff0c;首先将SRS带宽分成N1个等份(0&#xff5e;16)&#xff0c;每个等份包含的RB个数是m_SRS,1&#61;16 个&#xff1b;然后n1确定的是等份的索引&#xff1b;之后再将确定的等份RB均分为N2个等份&#xff0c;每个等份包含的RB个数是m_SRS,2&#61;8个,通过n2确定等份索引&#xff0c;假如算出来n1&#61;6,n2&#61;1则SRS 资源频域对应的位置图示如下&#xff0c;最终SRS发送带宽对应8个RB。 例4 假如B_SRS&#61;3 C_SRS&#61;63,则m_SRS,3&#61;4,N3&#61;2&#xff0c;m_SRS,2&#61;8,N2&#61;2&#xff0c;m_SRS,1&#61;16,N1&#61;17,m_SRS,0&#61;272&#xff0c;N0&#61;1。 这里对应的是b&#61;0~3的累加&#xff0c;首先将SRS带宽分成N1个等份(0&#xff5e;16)&#xff0c;每个等份包含的RB个数是m_SRS,1&#61;16 个&#xff1b;然后n1确定的是等份的索引&#xff1b;之后再将确定的等份RB均分为N2个等份&#xff0c;每个等份包含的RB个数是m_SRS,2&#61;8 个,通过n2确定等份索引&#xff0c;最后将上面确定的等份;再均分为N3个等份&#xff0c;每个等份包含的RB个数是m_SRS,3&#61;4 个,通过n3确定等份索引&#xff0c;进而确定最后的频域RB范围。假如算出来n1&#61;6,n2&#61;1&#xff0c;n3&#61;0则SRS 资源频域对应的位置图示如下,最终SRS发送带宽对应4个RB。 下面再看下SRS跳频时对应的具体情况&#xff0c;SRS跳频需要结合时频域参数共同决定。 先看时域跳频内容。 38.214.6.2.1.1 repetiton factor R由SRS-Resource中的resourceMapping-> repetitionFactor提供&#xff0c;Ns对应的是SRS在时隙内占用的符号数。 R和Ns配置时满足的条件是R<&#61;Ns。 当R&#61;Ns时&#xff0c;不支持时隙内跳频&#xff1b;当R&#61;1&#xff0c;Ns&#61;2,4时&#xff0c;支持时隙内跳频&#xff0c;以1个OFDM符号为单位跳频&#xff1b;当R&#61;2,Ns&#61;4时&#xff0c;支持时隙内跳频&#xff0c;以2个OFDM符号为单位进行跳频。 aperidoic SRS resource跳频 对于aperidoic SRS resource支持时隙内跳频。当R&#61;1,Ns&#61;2/4时&#xff0c;要将SRS带宽平均分成Ns个subband&#xff0c;完成时隙内跳频&#xff1b;当R&#61;2&#xff0c;Ns&#61;4时&#xff0c;要以2个符号为单位进行跳频&#xff0c;把SRS频带范围分成2个subband&#xff0c;完成跳频。 而RB中的子载波分布情况按照comb的配置&#xff0c;不发生改变&#xff0c;根据上述时域相关跳频的描述&#xff0c;假如SRS对应的带宽是12个RB&#xff0c;时频域分布情况如下。 对于aperiodic SRS resource&#xff0c;频域跳频enable时&#xff0c;即b_hop 这里我们假设n_RRC&#61;0 ,则n_b 的公式如下 n_b的确定主要与Fb(n_SRS)相关&#xff0c;而Fb(n_SRS) 又与n_SRS相关&#xff0c;对于aperiodic SRS resource&#xff0c;n_SRS&#61;l&#39;/R 向下取整&#xff0c;l&#39;为SRS占用的符号index&#xff0c;根据R和Ns的配置可以确定n_SRS的取值如下。 根据一个例子来看下&#xff0c;还是假设n_RRC&#61;n_shift&#61;0。 假设bhop&#61;1, 当b&#61;1时&#xff0c;满足b<&#61;bhop&#xff0c;则n_b&#61;0。 当b&#61;2时&#xff0c;nb&#61;Fb(n_SRS) mod 2&#xff0c;Nb&#61;N2&#61;2 当b&#61;3时&#xff0c;nb&#61;Fb(n_SRS) mod 2&#xff0c;Nb&#61;N3&#61;2 n_SRS&#61;0时&#xff0c;b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;0 n2&#61;0; b&#61;3,则F3(n_SRS)&#61;0,n3&#61;0 n_SRS&#61;1时&#xff0c; b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;1 n2&#61;1; b&#61;3,则F3(n_SRS)&#61;0,n3&#61;0 n_SRS&#61;2时&#xff0c; b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;0 n2&#61;0; b&#61;3,则F3(n_SRS)&#61;1,n3&#61;1 n_SRS&#61;3时&#xff0c; b&#61;1,则n1&#61;0 &#xff1b;b&#61;2, 则F2(n_SRS)&#61;1 n2&#61;1; b&#61;3,则F3(n_SRS)&#61;1,n3&#61;1 则最终的跳频时频域分布如下。 periodic 或semi-persistent SRS resource 跳频 对于periodic 或semi-persistent SRS resource&#xff0c;支持Ns&#61;1的时隙间跳频&#xff1b;也可以配置Ns&#61;2或4的 时隙内和时隙间跳频。Ns&#61;4&#xff0c;R&#61;2时&#xff0c;时隙内和时隙间跳频&#xff0c;一个时隙内的2对符号对应不同的子载波集合&#xff0c;但是&#xff0c;成对的2个符号对应相同的子载波集合。当Ns&#61;R时&#xff08;不支持时隙内跳频&#xff09;&#xff0c;时隙间跳频时&#xff0c;每个时隙内的R个符号对应相同的子载波集合。 与aperiodic SRS 跳频&#xff0c;不同的是n_SRS的确定方式&#xff0c;如上&#xff0c;其他根据网络端的配置&#xff0c;一步步按照公式&#xff0c;即可确定具体的跳频方式&#xff0c;这里不再推导。